package com.personal.service;

import com.personal.dto.ProductCategoryExecution;
import com.personal.entity.Product;
import com.personal.entity.ProductCategory;
import com.personal.exception.ProductCategoryOperationException;

import java.util.List;

/**
 * @author 萌新
 * @version 1.0
 * @date 2021/4/17 20:50
 */

public interface ProductCategoryService {

    /**
     * 查询指定某个商品下的所有商品类别信息
     * @param shopId
     * @return
     */
    List<ProductCategory> getProductCategoryList(long shopId);

    /**
     * 批量添加商品类别
     * @param productCategoryList
     * @return
     * @throws ProductCategoryOperationException
     */
    ProductCategoryExecution batchAddProductCategory(List<ProductCategory> productCategoryList) throws
            ProductCategoryOperationException;

    /**
     * 将此类别下的商品里的类别id置为空，再删除掉该商品类别
     * @param productCategoryId
     * @param shopId
     * @return
     * @throws ProductCategoryOperationException
     */
    ProductCategoryExecution deleteProductCategory(long productCategoryId,long shopId) throws ProductCategoryOperationException;
}
